O(len^2)